Page({
  data: {
    teacherInfo: null,
    showNameModal: false,
    showPhoneModal: false,
    newName: '',
    newPhone: ''
  },

  onLoad() {
    const userInfo = wx.getStorageSync('userInfo')
    if (userInfo) {
      this.setData({
        teacherInfo: userInfo
      })
    }
  },

  // 显示修改姓名弹窗
  showNameEdit() {
    this.setData({
      showNameModal: true,
      newName: this.data.teacherInfo.teacherName
    })
  },

  // 显示修改手机号弹窗
  showPhoneEdit() {
    this.setData({
      showPhoneModal: true,
      newPhone: this.data.teacherInfo.phone
    })
  },

  // 姓名输入
  onNameInput(e) {
    this.setData({
      newName: e.detail.value
    })
  },

  // 手机号输入
  onPhoneInput(e) {
    this.setData({
      newPhone: e.detail.value
    })
  },

  // 取消修改姓名
  cancelNameEdit() {
    this.setData({
      showNameModal: false,
      newName: ''
    })
  },

  // 取消修改手机号
  cancelPhoneEdit() {
    this.setData({
      showPhoneModal: false,
      newPhone: ''
    })
  },

  // 确认修改姓名
  async confirmNameEdit() {
    try {
      if (!this.data.newName.trim()) {
        wx.showToast({
          title: '姓名不能为空',
          icon: 'none'
        })
        return
      }

      wx.showLoading({
        title: '保存中...'
      })

      const db = wx.cloud.database({
        env: 'cloud1-5gg437qe344eb170'
      })

      await db.collection('teachers').doc(this.data.teacherInfo._id).update({
        data: {
          teacherName: this.data.newName.trim()
        }
      })

      // 更新本地存储
      const userInfo = wx.getStorageSync('userInfo')
      userInfo.teacherName = this.data.newName.trim()
      wx.setStorageSync('userInfo', userInfo)

      // 更新页面数据
      this.setData({
        'teacherInfo.teacherName': this.data.newName.trim(),
        showNameModal: false
      })

      wx.hideLoading()
      wx.showToast({
        title: '修改成功',
        icon: 'success'
      })

    } catch (err) {
      console.error('修改姓名失败：', err)
      wx.hideLoading()
      wx.showToast({
        title: '修改失败',
        icon: 'none'
      })
    }
  },

  // 确认修改手机号
  // 在confirmPhoneEdit方法中
  async confirmPhoneEdit() {
    const app = getApp();
    const db = app.getDB(); // 替换原有wx.cloud.database调用
    try {
      if (!/^1[3-9]\d{9}$/.test(this.data.newPhone)) {
        wx.showToast({
          title: '请输入正确的手机号',
          icon: 'none'
        })
        return
      }

      wx.showLoading({
        title: '保存中...'
      })

    

      await db.collection('teachers').doc(this.data.teacherInfo._id).update({
        data: {
          phone: this.data.newPhone
        }
      })

      // 更新本地存储
      const userInfo = wx.getStorageSync('userInfo')
      userInfo.phone = this.data.newPhone
      wx.setStorageSync('userInfo', userInfo)

      // 更新页面数据
      this.setData({
        'teacherInfo.phone': this.data.newPhone,
        showPhoneModal: false
      })

      wx.hideLoading()
      wx.showToast({
        title: '修改成功',
        icon: 'success'
      })

    } catch (err) {
      console.error('修改手机号失败：', err)
      wx.hideLoading()
      wx.showToast({
        title: '修改失败',
        icon: 'none'
      })
    }
  },
  // 在confirmNameEdit方法中 
  async confirmNameEdit() {
    const app = getApp();
    const db = app.getDB(); // 替换原有wx.cloud.database调用
    try {
      if (!this.data.newName.trim()) {
        wx.showToast({
          title: '姓名不能为空',
          icon: 'none'
        })
        return
      }

      wx.showLoading({
        title: '保存中...'
      })

      const db = wx.cloud.database({
        env: 'cloud1-5gg437qe344eb170'
      })

      await db.collection('teachers').doc(this.data.teacherInfo._id).update({
        data: {
          teacherName: this.data.newName.trim()
        }
      })

      // 更新本地存储
      const userInfo = wx.getStorageSync('userInfo')
      userInfo.teacherName = this.data.newName.trim()
      wx.setStorageSync('userInfo', userInfo)

      // 更新页面数据
      this.setData({
        'teacherInfo.teacherName': this.data.newName.trim(),
        showNameModal: false
      })

      wx.hideLoading()
      wx.showToast({
        title: '修改成功',
        icon: 'success'
      })

    } catch (err) {
      console.error('修改姓名失败：', err)
      wx.hideLoading()
      wx.showToast({
        title: '修改失败',
        icon: 'none'
      })
    }
  }
})